Представлення структур і об'єднань

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2015
Тип роботи:
Розрахункова робота
Предмет:
Обчислювальний практикум

Частина тексту файла

Міністерство освіти і науки, Національний університет «Львівська Політехніка» Кафедра ЕОМ / Розрахункова робота з дисципліни «Обчислювальний практикум» на тему: «Представлення структур і об'єднань» Мета роботи: Визначити представлення в пам’яті комп’ютера структур і об'єднань. Індивідуальне завдання №1 Оголосити структуру згідно наведеній нижче таблиці. Після цього надати всім елементам структури певні значення, задані після таблиці. Варіант 9. struct str9 { char c[5]; double a; int :12; unsigned long d; short b:8; char f; char :7; unsigned :3; unsigned short e:5; }str; Хід роботи 1. Запускаю першу програму на виконання. / Індивідуальне завдання №2 Оголосити об'єднання згідно наведеній нижче таблиці. Після цього надати деяким елементам об'єднання початкові значення, задані після таблиці. Варіант 7. union un7 { int b; struct { float f[2]; wchar_t a[6]; }; struct { char d[5]; float e; }; int c; } un; 2. Запускаю другу програму на виконання. / Висновок: У цій лабораторній роботі я навчився визначати представлення в пам’яті комп’ютера структур і об'єднань. Текст програми: #include <iostream> #include <stdlib.h> using namespace std; int main() { setlocale(LC_ALL, "ukr"); struct str9 { char c[5]; double a; int : 12; unsigned long d; short b : 8; char f; char : 7; unsigned : 3; unsigned short e : 5; }str; str.a = 24.168; str.b = 25 * 97 * 124; str.c[0] = 'К'; str.c[1] = 'а'; str.c[2] = 'р'; str.c[3] = 'п'; str.c[4] = 'и'; str.d = 764 * 25 * 1; str.e = 24 * 7 * 36; str.f = '5'; cout << "Представлення типу struct в пам'ятi: "; unsigned char *vstr = (unsigned char *)(&str); for (int i = 0; i<sizeof(str); i++) printf("%02X ", vstr[i]); printf("\n"); cout << endl; union un7 { int b; struct { float f[2]; wchar_t a[6]; }; struct { char d[5]; float e; }; int c; } un; un.e = 97 * 325 + 1997 * 24; un.c = 24 * (7 + 25) * 100; un.a[0] = 9; un.a[1] = 7; un.a[2] = 0; un.a[3] = 2; un.a[4] = 5; cout << endl; cout << "Представлення типу union в пам'ятi: "; unsigned char *vun = (unsigned char *)(&un); for (int i = 0; i<sizeof(un); i++) printf("%02X ", vun[i]); printf("\n"); cout << endl; system("pause"); }
Антиботан аватар за замовчуванням

05.04.2016 12:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини